Multi-processor networks are commonly used in today's office and computing environment. One example of a multi-processor network is a local area network (LAN). In LAN's, several computers, or suitable devices, are interconnected to a common communication link (i.e., a bus) by way of an interface. The computers communicate with one another by sending messages over the communication link. When one computer wants to communicate to a specific computer or broadcast a message to all the computers connected to the network, the sending computer gains access to the communication link and then transmits the message over the link. When more than one computer sends information, or requests control of the communication link, the increased flow of information provided to the network from the transmitting or requesting computers causes the network to become overloaded. An overloaded network results in poor network performance and corresponding errors in the information that is being transmitted over the network.
Conventional approaches of solving the performance and error recovery problems associated with overloaded networks require agreement among the multiple computers (or nodes) of the network about when it is proper to send additional information. Such conventional approaches are often complex and prone to errors.
Multi-processor networks, including sub-processor systems interconnected by routing devices, have been introduced to solve the problems associated with overloaded networks. In such multi-processor systems, the sub-processors communicate with each other through the routing devices. Inter-processor communications are comprised of information packets that are sent/received from the memories of source or destination processors. An access validation method may be used to grant/deny access to a memory of a corresponding processor or sub-processor.